//
//  main.m
//  08-类的扩展
//
//  Created by dllo on 16/7/13.
//  Copyright © 2016年 高雅馨. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NSObject+Say__Hallo.h"
#import "NSString+Super.h"
#import "Student.h"
#import "BuyPerson.h"
#import "ZHW🐶.h"
int main(int argc, const char * argv[]) {
    /**
     *  类的扩展的方式
     * 1. Category(类别,类目,分类)
     * 1> Category的创建
     * 通过Objecttive-C File创建
     * 会产生两个文件 .h .m
     * 文件名会以 类名 + Category
     * 2> Category的使用
     * 相对应文件中添加需要添加方法
     * 引入到你对应要使用的位置
     */
    NSObject *objc = [[NSObject alloc] init];
    [objc sayHello];
    
    NSString *str = @"gaoyaxin";
   NSString *firstChar = [str upperFirstString];
    NSLog(@"%@", firstChar);
    
    /**
     *  2. Extension
     * 延展, 一般定义在.m中, 其中声明
     */
    /**
     *  3. 代理delegate设计模式
     * 举例: 海外代购
     */
    Student *stu = [[Student alloc] init];
    BuyPerson *buyPerson = [[BuyPerson alloc] init];
    // (6) 设定代理人
    stu.delegate = buyPerson;
    [stu seeWeChat];
    
        return 0;
}
